/*
    作者：patch
    作用：全局初始化操作
 */
$(function () {
    // 解决数组类型的参数中的自动拼接[]问题
    $.ajaxSettings.traditional = true
    // 自定义弹框按钮
    $.messager.model = {
        ok: {text: "确定", classed: 'btn-danger'},
        cancel: {text: "取消", classed: 'btn-success'}
    }
});

/*
    作者：patch
    作用：删除指定数据
    参数：
        btnName：删除按钮名称
 */
function deleteData(btnName) {
    $(btnName).click(function () {
        var url = $(this).data("url");
        $.messager.confirm("温馨提示", "亲，数据无价，确定不再考虑下吗？", function () {
            $.get(url, function (data) {
                doSuccess(data);
            });
        });
    });
}

/*
    作者：patch
    作用：批量删除指定数据
    参数：
        btnName：  批量删除按钮名称
        checkName：需要删除的按钮名称
        dataName： data-xxx的名称
        target：   批量删除请求资源目标
 */
function batchDelete(btnName, checkName, dataName, target) {
    $(btnName).click(function () {
        // 当前用户没有选择删除的数据时，给出提示
        // 判断选中的数量
        if ($(checkName + ":checked").length == 0) {
            $.messager.alert("温馨提示", "亲，请选择要删除的数据");
            return; // 记得要停止方法继续执行
        }
        // 获取需要删除的数据id
        // 定义个数组
        var ids = [];
        $(".cb:checked").each(function (index, checkbox) {
            // 将选中的id添加到数组中
            ids.push($(checkbox).data(dataName));
        });
        // 如果选择了删除的数据，给用户确认提示框
        $.messager.confirm("温馨提示", "亲，您确定要删除当前选中的数据吗？", function () {
            // 发送Ajax请求
            $.get("/" + target + "/deleteBatch.do", {ids: ids}, function (data) {
                // 处理请求的结果
                doSuccess(data);
            });
        });
    });
}

/*
    作者：patch
    作用：温馨提示框
    参数：
        data：服务器响应回的JSON对象
 */
function doSuccess(data) {
    if (data.success) {
        // 成功
        layer.msg('操作成功，1S后自动刷新', {icon: 1});
        setTimeout(function () {
            // 刷新页面
            window.location.reload();
        }, 1500);
    } else {
        // 失败
        layer.alert('亲，操作失败，请重试', {icon: 5});
    }
}

/*
    作者：patch
    作用：发送Ajax提交表单
    参数：
        submitBtn：提交按钮名称
        editForm： 表单名称
 */
function submitForm(submitBtn, editForm) {
    $(submitBtn).click(function () {
        $(editForm).ajaxSubmit(function (data) {
            doSuccess(data);
        });
    });
}

/*
    作者：patch
    作用：全选
    参数：
        all：    全选按钮
        single： 每条数据对应的单选按钮
 */
function checkedAll(all, single) {
    // 全选功能
    $(all).change(function () {
        $(single).prop("checked", this.checked);
    });
    // 完善全选功能
    $(single).click(function () {
        if ($(".cb:checked").length == $(single).length) {
            $(all).prop("checked", true);
        } else {
            $(all).prop("checked", false);
        }
    });
}

/*
    设置允许跨域访问
 */
$.ajaxSetup({
    crossDomain: true,// 是否允许跨域
    xhrFields: {withCredentials: true}// 为true，发ajax请求时会带上跨域的cookie
});


/*
    接口主机地址
 */
//var baseUrl = "http://192.168.14.133:9999";
var baseUrl = "http://localhost:9999"

/*
    作者：patch
    作用：图片上传，并回显
    参数：
        btnName：图片上传按钮名称
 */
function updateImg(btnName) {
    // 更换封面
    // 封面选择
    $(btnName).click(function () {
        $("#fileInput").click();
    });

    // 图片改变事件
    $("#fileInput").change(function () {
        // 有值才提交
        if ($(this).val()) {
            // 发送ajax请求
            $("#fileForm").ajaxSubmit({
                url: "/images.do",
                success: function (data) {
                    if (data.uploaded == 1) {
                        // 成功
                        // 1.1 设置显示封面
                        $("#coverUrl").attr("src", data.url);
                        // 1.2 设置隐藏域
                        $("#editForm input[name='coverUrl']").val(data.url);
                    } else {
                        // 失败
                        layer.alert('亲，操作失败，请重试', {icon: 5});
                    }
                }
            });
        }
    });
}

    /*
    作者：patch
    作用：图片上传，并回显
    版本：V2.0
    参数：
        btnName：图片上传按钮名称
        imgName：需要的提交的input的name名称
 */
function updateImgV2(btnName, imgName) {
// 更换封面
// 封面选择
    $(btnName).click(function () {
        $("#fileInput").click();
    });

    // 图片改变事件
    $("#fileInput").change(function () {
        // 有值才提交
        if ($(this).val()) {
            // 发送ajax请求
            $("#fileForm").ajaxSubmit({
                url: "/images.do",
                success: function (data) {
                    if (data.uploaded == 1) {
                        // 成功
                        // 1.1 设置显示封面
                        $("#coverUrl").attr("src", data.url);
                        // 1.2 设置隐藏域
                        $("#editForm input[name='" + imgName + "']").val(data.url);
                    } else {
                        // 失败
                        layer.alert('亲，操作失败，请重试', {icon: 5});
                    }
                }
            });
        }
    });
}